package java6703.lesson09;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
import java.io.*;

        /*
        步骤1：确定输入的源文件，并确保源文件已经存在;
        步骤2：创建指向文件的带缓冲的字符输入流;
        步骤3：循环读数据，每次读一行;
        步骤4：关闭资源：请使用JDK1.7提供的ARM块自动关闭资源;
        步骤5：将读到的数据显示在多行文本框中;
         */

public class ReadFile6703Controller {

    @FXML
    private TextField tfFilename;

    @FXML
    private TextArea taText;

    @FXML
    void readFile(ActionEvent event) {

        taText.clear();

        String fileName = tfFilename.getText();

        // 确定输入的源文件，并确保源文件已经存在
        if (new File(fileName).exists()) {

            // 创建指向文件的带缓冲的字符输入流 | 关闭资源使用JDK1.7提供的ARM块自动关闭资源;
            try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {
                String input = "";

               // 循环读数据，每次读一行
                while (input != null) {
                    if (!"".equals(input)) {

                        // 将读到的数据显示在多行文本框中
                        taText.appendText(input + "\r\n");
                    }
                    input = br.readLine();
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        } else {
            taText.setText("文件路径有误，请重新输入！");
        }
    }
}